section .data
msg:  db "Hello, world!"

section .text
  global _start
_start:
  mov rax, 1                    ; system call number, size_t sys_write(unsigned int fd, const char* buf, size_t count)
  mov rdi, 1                    ; first function argument: fd
  mov rsi, msg                  ; second function argument: buf
  mov rdx, 13                   ; third function argument: count
  syscall                       ; call syscall
  mov rax, 60                   ; system call number, exit
  mov rdi, 0                    ; errno
  syscall                       ; call syscall
